/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


// append row to the HTML table
function agregarFila(cont) {
    var tbl = document.getElementById('tabla'), // table reference
        row = tbl.insertRow(-1),      // append table row
        row2 = tbl.insertRow(cont),
        i;
    for (i = 0; i < cont; i++) {

        createCell(row.insertCell(i),i,'row'); //Creo la celda del input type text
    }
    
}

function mostrarListas(combo, i){
      var indice = combo.selectedIndex;
      var tabla = document.getElementById('tabla');
      var valor = combo.options[combo.selectedIndex].text;

     if (valor == 'Lista'){
         
        document.getElementsByName("columna["+i+"].idLista")[0].disabled=false;
      }
      else{
           document.getElementsByName("columna["+i+"].idLista")[0].disabled = true;
      }
      

  }


//Crea una celda de input text 
function createCell(cell, i, style) {
//    var div = document.createElement('td'), // create DIV element
//        form = document.createElement('input');
//    form.setAttribute('type', 'text');
//    form.setAttribute('property','nombre');
//    form.setAttribute('name','Fila');
//    div.appendChild(form);             // append text node to the DIV
//    div.setAttribute('class', style);        // set DIV class attribute
//    div.setAttribute('className', style);    // set DIV class attribute for IE (?!)
//    cell.appendChild(div);                   // append DIV to the table cell
    cell.innerHTML="<form name='Fila' action='/agregarFila.do?method=addFila'> \n\
                        <input type='text' name='Fila' property='nombre'></input> <br> \n\
                        <input type='hidden' property='idLogico' value='"+i+"'></input>\n\
                        <input type='submit' hidden='true'></input> \n\
                        </form>"
   
}
//Crear una celda con la lista desplegable de las categorias de la unidad
function createCellOptions(cell) {
    var div = document.createElement('td'), // create DIV element
        select = document.createElement('select'),
        options = document.createElement('options');
    select.setAttribute('property','lista');
    select.setAttribute('name','columna');
     select.setAttribute('indexed','true');
    
     options.setAttribute('collection','listas');
    options.setAttribute('labelProperty','nombre');
    options.setAttribute('property','idLista');
    options.setAttribute('value','nombre');
    select.appendChild(options);             // opciones al select
    div.appendChild(select);
    cell.appendChild(div);                  // append DIV to the table cell
   
}

function enableField()
{
 
document.columna.lista[0].disabled=false;
}


// append column to the HTML table
function agregarColumna() {
    var tbl = document.getElementById('tabla'), // table reference
        boton= document.getElementById('boton'),
        padre = boton.parentNode;
        padre.removeChild(boton); //Eliminamos el primer boton de eliminar
        createCell(tbl.rows[0].insertCell(tbl.rows[0].cells.length), 'nombre', 'col');
        createCell(tbl.rows[1].insertCell(tbl.rows[1].cells.length), 'tipo', 'col');
        createCellOptions(tbl.rows[2].insertCell(tbl.rows[2].cells.length));
        tbl.rows[0].insertCell(tbl.rows[0].cells.length); //Celdas dummy
        tbl.rows[1].insertCell(tbl.rows[1].cells.length); //Celdas dummy
        botonEliminar(tbl.rows[2].insertCell(tbl.rows[2].cells.length),'eliminarColumna();');
    
    
}

function botonEliminar(cell,text){
       var  button = document.createElement('button'); // create text node
    button.setAttribute('type','submit');
    button.setAttribute('class','negative');
    button.setAttribute('id','boton');
    imagen = document.createElement('img');
    imagen.setAttribute('src','/CPYD/interfaz/images/eliminar.png');
    imagen.setAttribute('alt','');
    button.appendChild(imagen);
    button.setAttribute('onclick',text);
    cell.appendChild(button);  
}

// delete table rows with index greater then 0
function eliminarFila() {
    var tbl = document.getElementById('tabla'), // table reference
        lastRow = tbl.rows.length,             // set the last row index
        i;
    // delete rows with index greater then 0
    if (lastRow>1){
        tbl.deleteRow(lastRow-1);
    }
    else{
        alert("Debe tener al menos una fila");
    }
 
}
 
// delete table columns with index greater then 0
function eliminarColumna() {
    var tbl = document.getElementById('tabla'), // table reference
        lastCol = tbl.rows[0].cells.length-2,    // set the last column index
        i, j;
    // delete cells with index greater then 0 (for each row)
    if (lastCol>1){
    for (i = 0; i < tbl.rows.length; i++) {
    //    for (j = lastCol; j > 0; j--) {
            tbl.rows[i].deleteCell(lastCol);
      //  }
    }
    }
    else{
        alert("Debe existir al menos una columna");
    }
}


function validarCelda(valor) {
    
    if (valor.length == 0) {
        alert("El campo no puede estar vacio.");
    }
    /*
    if (tipo == "Alfanumerico") {
        regex = /[^[a-z]|[0-9]]/i;
        if (regex.test(valor)) {
            alert("El valor introducido no es alfanumérico.");
        }
    } else if (tipo == "Numerico") {
        regex = /[^0-9]/;
        if (regex.test(valor)) {
            alert("El valor introducido no es numérico.");
        }
    } else if (tipo == "Porcentual") {
        regex = /[^[0-9]%]/;
        if (regex.test(valor)) {
            alert("El valor introducido no es porcentual.");
        }
    } */      
}

function validarAlfanumerico(nombre) {
    var patron = /[^a-z|\s|0-9]+/i;
    if(nombre.length != 0 && patron.test(nombre)) {
        alert("El nombre solo puede contener caracteres alfanuméricos.");
        return false;
    }
    
    return true;
}

function validarNumerico(valor) {
    var patron = /[^\d]+/;
    
    if (valor.match(patron) != null) {
        alert("Ha introducido un valor no numérico.");
        return false;
    }
    
    return true;
}